fix(kona): remove obsolete replacement deposit tx from consolidation#19894
Merged
fix(kona): remove obsolete replacement deposit tx from consolidation#19894
Conversation
d81b408 to
1879f68
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #19894 +/- ##
===========================================
+ Coverage 75.6% 75.9% +0.3%
===========================================
Files 195 489 +294
Lines 11348 61792 +50444
===========================================
+ Hits 8581 46955 +38374
- Misses 2623 14837 +12214
+ Partials 144 0 -144
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
sebastianst
approved these changes
Apr 2, 2026
karlfloersch
approved these changes
Apr 2, 2026
wwared
approved these changes
Apr 2, 2026
The interop spec no longer includes an "optimistic block deposited transaction" in deposit-only replacement blocks. The supernode already builds replacement blocks with only the original deposit transactions (L1Info tx), but Kona was still appending an additional replacement deposit tx encoding the original block's output root. This caused a state root mismatch between the supernode's replacement block and Kona's, making TestInteropFaultProofs_InvalidBlock fail. Remove the craft_replacement_transaction call and dead code, and unskip the test. Closes #19411 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test requires #19890 (skip re-validating deposit-only blocks) and the L2Transactions hint fix from develop to pass. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1879f68 to
2bec720
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
craft_replacement_transactionmethod and unused importsContext
The interop spec no longer includes an additional replacement deposit tx in deposit-only blocks. The supernode already builds replacement blocks with only the original deposit transactions (the L1Info tx), but Kona was still appending an extra deposit tx encoding the original block's output root via
craft_replacement_transaction.This caused a state root mismatch between the supernode's replacement block (1 tx, gas_used ~54k) and Kona's (2 txs, gas_used ~80k), which cascaded into different output roots and a different super root — failing the
Consolidate-ReplaceInvalidBlock-fppsubtest.Removing the extra tx also resolves the
Rlp(InputTooShort)error that occurred during the second consolidation pass — with only deposit txs in the replacement block, the message graph derivation finds no executing messages and succeeds cleanly, so #19890 is not required.Dependencies
The test (
TestInteropFaultProofs_InvalidBlock) requires:The L2Transactions hint fix (#19850) is already merged to develop. The test remains skipped until #19880 is merged.
Closes #19411
Test plan
cargo check -p kona-proof-interoppassescargo clippy -p kona-proof-interop— no warningscargo +nightly fmt -p kona-proof-interop -- --check— cleanTestInteropFaultProofs_InvalidBlockpasses locally with develop + supernode: Use Denylist Output for "OptimisticOutputRoot" #19880 (without fix(kona): skip re-validating deposit-only blocks during consolidation #19890)🤖 Generated with Claude Code